'''
程序目的：1、统计需要展示的数据；2、保存统计结果
'''

import pandas as pd
import datetime
import time

'''1 统计需要展示的数据'''

#  1-1 无用数据清理
#       1-1-1 数据读取
problem_list_all = pd.read_excel("D:\python_work\Problem_list/清单合并-大众.xlsx")

#       1-1-2 数据清理
problem_list_all.drop(['问题类型','分析人员\nAnalyst','分析是否需要测量资源/措施需评估'\
         ,'问题原因\nUrsache','负责\n人员\nZustaendig','销项日期Geschlossen'\
         ,'分析周期Dauer','需求分析时长','优先级排序','关注\nInteresse','零件\nKaufenteile','工艺\nProzess'\
         ,'设计\nDesign','更改\nAenderung','C\nF\nT','创新\nNeuerung','临时措施需求','难度\nSchwierigkeit'\
         ,'报告\nBericht','缺陷车\nFehlerfahrzeug'],axis=1,inplace=True)
print("合并清单去除无用列，完成！")

problem_list_all.to_excel("D:\python_work\Problem_list/大众品牌问题清单-去除无用列.xlsx",index=False) #保存数据：仅去除无用列

#   1-2 数据整理，按需要的顺序保留需要的数据
#       1-2-1 问题排序，将同一个问题，按照日期从早到晚排序，这样去重后悔保留日期最靠后的一列，为计算问题解决周期做预留                             T
problem_list_all.sort_values(by=['模块','序号\nNr.','期\n限\nTermin'],ascending=[True,True,True],inplace=True)
                                        #problem_list_all_copy = problem_list_all.copy()#保留一份未去重数据，用于措施时长统计
#       1-2-2 删除问题重复行
problem_list_all.drop_duplicates(['问题描述\nProbleme'],keep='last',inplace=True)
problem_list_all.to_excel("D:\python_work\Problem_list/大众品牌问题清单-去重.xlsx",index=False) #数据备份

#   1-3 数据统计

print("*****************问题状态统计结果如下********************") #分隔线

#       1-3-1 前端数据
FrotendTayronGelb = problem_list_all[problem_list_all['模块'] == '前端'][problem_list_all['车型'] == '探岳']['问题结项'].value_counts()[3]
FrotendTayronGreen = problem_list_all[problem_list_all['模块'] == '前端'][problem_list_all['车型'] == '探岳']['问题结项'].value_counts()[5]

CoupeFrotendGelb = problem_list_all[problem_list_all['模块'] == '前端'][problem_list_all['车型'] == 'Coupe']['问题结项'].value_counts()[3]
CoupeFrotendGreen = problem_list_all[problem_list_all['模块'] == '前端'][problem_list_all['车型'] == 'Coupe']['问题结项'].value_counts()[5]

FrotendGelbSum = problem_list_all[problem_list_all['模块'] == '前端']['问题结项'].value_counts()[3]
FrotendGreenSum = problem_list_all[problem_list_all['模块'] == '前端']['问题结项'].value_counts()[5]
#       1-3-2 后端数据
HeckendTayronGelb = problem_list_all[problem_list_all['模块'] == '后端'][problem_list_all['车型'] == '探岳']['问题结项'].value_counts()[3]
HeckendTayronGreen = problem_list_all[problem_list_all['模块'] == '后端'][problem_list_all['车型'] == '探岳']['问题结项'].value_counts()[5]

HeckendCoupeGelb = problem_list_all[problem_list_all['模块'] == '后端'][problem_list_all['车型'] == 'Coupe']['问题结项'].value_counts()[3]
HeckendCoupeGreen = problem_list_all[problem_list_all['模块'] == '后端'][problem_list_all['车型'] == 'Coupe']['问题结项'].value_counts()[5]

HeckendGelbSum = problem_list_all[problem_list_all['模块'] == '后端']['问题结项'].value_counts()[3]
HeckendGreenSum = problem_list_all[problem_list_all['模块'] == '后端']['问题结项'].value_counts()[5]

#       1-3-3 车门数据
TureTayronGelb = problem_list_all[problem_list_all['模块'] == '车门'][problem_list_all['车型'] == '探岳']['问题结项'].value_counts()[3]
TureTayronGreen = problem_list_all[problem_list_all['模块'] == '车门'][problem_list_all['车型'] == '探岳']['问题结项'].value_counts()[5]

TureCoupeGelb = problem_list_all[problem_list_all['模块'] == '车门'][problem_list_all['车型'] == 'Coupe']['问题结项'].value_counts()[3]
TureCoupeGreen = problem_list_all[problem_list_all['模块'] == '车门'][problem_list_all['车型'] == 'Coupe']['问题结项'].value_counts()[5]

TureGelbSum = problem_list_all[problem_list_all['模块'] == '车门']['问题结项'].value_counts()[3]
TureGreenSum = problem_list_all[problem_list_all['模块'] == '车门']['问题结项'].value_counts()[5]
#       1-3-4 内外饰数据
InnenTayronGelb = problem_list_all[problem_list_all['模块'] == '内外饰'][problem_list_all['车型'] == '探岳']['问题结项'].value_counts()[3]
InnenTayronGreen = problem_list_all[problem_list_all['模块'] == '内外饰'][problem_list_all['车型'] == '探岳']['问题结项'].value_counts()[5]

InnenCoupeGelb = problem_list_all[problem_list_all['模块'] == '内外饰'][problem_list_all['车型'] == 'Coupe']['问题结项'].value_counts()[3]
InnenCoupeGreen = problem_list_all[problem_list_all['模块'] == '内外饰'][problem_list_all['车型'] == 'Coupe']['问题结项'].value_counts()[5]

InnenGelbSum = problem_list_all[problem_list_all['模块'] == '内外饰']['问题结项'].value_counts()[3]
InnenGreenSum = problem_list_all[problem_list_all['模块'] == '内外饰']['问题结项'].value_counts()[5]

#       1-3-5 统计结果输出
print("前端数据：******************")
print('前端-探岳-黄灯-问题个数：',FrotendTayronGelb)
print('前端-探岳-绿灯-问题个数：',FrotendTayronGreen)
print('前端-Coupe-黄灯-问题个数：',CoupeFrotendGelb)
print('前端-Coupe-绿灯-问题个数：',CoupeFrotendGreen)
print('前端-黄灯-总数：',FrotendGelbSum)
print('前端-绿灯-总数：',FrotendGreenSum)

print("后端数据：******************")
print('后端-探岳-黄灯-问题个数：',HeckendTayronGelb)
print('后端-探岳-绿灯-问题个数：',HeckendTayronGreen)
print('后端-Coupe-黄灯-问题个数：',HeckendCoupeGelb)
print('后端-Coupe-绿灯-问题个数：',HeckendCoupeGreen)
print('后端-黄灯-总数：',HeckendGelbSum)
print('后端-绿灯-总数：',HeckendGreenSum)

print("车门数据：******************")
print('车门-探岳-黄灯-问题个数：',TureTayronGelb)
print('车门-探岳-绿灯-问题个数：',TureTayronGreen)
print('车门-Coupe-黄灯-问题个数：',TureCoupeGelb)
print('车门-Coupe-绿灯-问题个数：',TureCoupeGreen)
print('车门-黄灯-总数：',TureGelbSum)
print('车门-绿灯-总数：',TureGreenSum)

print("内外饰数据：******************")
print('内外饰-探岳-黄灯-问题个数：',InnenTayronGelb)
print('内外饰-探岳-绿灯-问题个数：',InnenTayronGreen)
print('内外饰-Coupe-黄灯-问题个数：',InnenCoupeGelb)
print('内外饰-Coupe-绿灯-问题个数：',InnenCoupeGreen)
print('内外饰-黄灯-总数：',InnenGelbSum)
print('内外饰-绿灯-总数：',InnenGreenSum)


'''2 数据保存到本地'''
"***********************************************实现统计数据的写入******************************************************"
# #统计结果汇总
# ProblemCount = [FrotendGelb,FrotendGreen,HeckendGelb,HeckendGreen,TureGelb,TureGreen,InnenGelb,InnenGreen]
# print(ProblemCount)

# #获取当前周
# kw = "KW" + time.strftime("%U",time.localtime())
# #print(kw)
#
# #读取数据
df = pd.read_excel("D:\\5.大众品牌周报\\输出材料\\问题管理数据.xlsx")
print(df)
# df.to_excel("D:\\5.大众品牌周报\\输出材料\\问题管理数据-" + kw +".xlsx")
#
# #数据备份，加入当前周后存储
#
#
# #按照当前周，将数据更新到excel文件中
# df.loc[0:7,kw] = ProblemCount
# print(df)
#
# #统计结果写入指定文件
# df.to_excel("D:\\5.大众品牌周报\\输出材料\\问题管理数据.xlsx")







#分析时长统计
# print("*****************问题分析时长统计结果如下********************")
# print('前端-分析-总时长：',problem_list_all[problem_list_all['模块'] == '前端']['分析时长'].sum())
# print('后端-分析-总时长：',problem_list_all[problem_list_all['模块'] == '后端']['分析时长'].sum())
# print('车门-分析-总时长：',problem_list_all[problem_list_all['模块'] == '车门']['分析时长'].sum())
# print('内外饰-分析-总时长：',problem_list_all[problem_list_all['模块'] == '内外饰']['分析时长'].sum())


#措施平均时长统计
# print("*****************措施时长统计结果如下********************")
#
# problem_list_all_copy['措施时长'] = pd.to_timedelta(problem_list_all_copy['措施时长']).dt.days#days类型转换为float类型
#
# problem_list_all_copy.to_excel("D:\python_work\Problem_list/大众品牌问题清单-措施时长计算前.xlsx",index=False)
#
#
# print('冲压平均执行时长为：',problem_list_all_copy[problem_list_all_copy['负责\n部门\nAbt'] == 'PS']['措施时长']\
#       .mean().round(decimals=1))
# print('焊装平均执行时长为：',problem_list_all_copy[problem_list_all_copy['负责\n部门\nAbt'] == 'BS']['措施时长']\
#       .mean().round(decimals=1))
# print('涂装平均执行时长为：',problem_list_all_copy[problem_list_all_copy['负责\n部门\nAbt'] == 'PA']['措施时长']\
#       .mean().round(decimals=1))
# print('总装平均执行时长为：',problem_list_all_copy[problem_list_all_copy['负责\n部门\nAbt'] == 'CA']['措施时长']\
#       .mean().round(decimals=1))
# print('外协件平均执行时长为：',problem_list_all_copy[problem_list_all_copy['负责\n部门\nAbt'] == 'QA']['措施时长']\
#       .mean().round(decimals=1))
# print('规划平均执行时长为：',problem_list_all_copy[problem_list_all_copy['负责\n部门\nAbt'] == 'PL']['措施时长']\
#       .mean().round(decimals=1))
# print('VSC平均执行时长为：',problem_list_all_copy[problem_list_all_copy['负责\n部门\nAbt'] == 'VSC']['措施时长']\
#       .mean().round(decimals=1))



